package com.qiyang.mapper;


import com.qiyang.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.session.RowBounds;

import java.util.List;

public interface UserMapper {

    User selectById(Long id);

    /**
     * 基于注解的方式，不推荐，耦合度高，不够灵活，可读性不高，也不推荐混用
     * 注意：注解可以和xml混用，但不要声明两个一样的mapper方法名称
     * @param id
     * @return
     */
    @Select("select * from user where id =#{id}")
    User selectByIdAnotation(Long id);

    Integer insert(User user);

    Integer update(User user);

    Integer delete(Long id);

    /**
     * 增删改的返回值，支持返回影响行数int、操作是否成功boolean
     * @param user
     * @return
     */
    Integer insertSelective(User user);

    List<User> selectCacheUser(@Param("user") User user);

    List<User> queryPage();

    List<User> queryPage(RowBounds rowBounds);
}
